Telegram Group & Telegram Channel
πŸ–₯Быстрая сортировка (QuickSort) с использованиСм рСкурсии

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: cΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСэффСктивной ΠΏΡ€ΠΈ использовании простых Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ сортировка ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ ΠΈΠ»ΠΈ вставками.

РСшСниС: Автор Π² ΠΊΠ½ΠΈΠ³Π΅ Algorithms and Data Structures for OOP With C# дСмонстрируСт Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ QuickSort β€” ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· самых эффСктивных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, с рСкурсивным Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ΠΌ массива.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

public class QuickSortExample
{
public void QuickSort(int[] arr, int low, int high)
{
if (low < high)
{
int pi = Partition(arr, low, high);

QuickSort(arr, low, pi - 1);
QuickSort(arr, pi + 1, high);
}
}

private int Partition(int[] arr, int low, int high)
{
int pivot = arr[high];
int i = (low - 1);

for (int j = low; j < high; j++)
{
if (arr[j] < pivot)
{
i++;
(arr[i], arr[j]) = (arr[j], arr[i]);
}
}

(arr[i + 1], arr[high]) = (arr[high], arr[i + 1]);
return i + 1;
}
}


ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:
β€” Быстрая сортировка Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…
β€” БрСдняя ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ O(n log n)
β€” Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ использованиС памяти Π·Π° счСт рСкурсии
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/csharp_1001_notes/712
Create:
Last Update:

πŸ–₯Быстрая сортировка (QuickSort) с использованиСм рСкурсии

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: cΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСэффСктивной ΠΏΡ€ΠΈ использовании простых Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ сортировка ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ ΠΈΠ»ΠΈ вставками.

РСшСниС: Автор Π² ΠΊΠ½ΠΈΠ³Π΅ Algorithms and Data Structures for OOP With C# дСмонстрируСт Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ QuickSort β€” ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· самых эффСктивных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, с рСкурсивным Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ΠΌ массива.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:


public class QuickSortExample
{
public void QuickSort(int[] arr, int low, int high)
{
if (low < high)
{
int pi = Partition(arr, low, high);

QuickSort(arr, low, pi - 1);
QuickSort(arr, pi + 1, high);
}
}

private int Partition(int[] arr, int low, int high)
{
int pivot = arr[high];
int i = (low - 1);

for (int j = low; j < high; j++)
{
if (arr[j] < pivot)
{
i++;
(arr[i], arr[j]) = (arr[j], arr[i]);
}
}

(arr[i + 1], arr[high]) = (arr[high], arr[i + 1]);
return i + 1;
}
}


ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:
β€” Быстрая сортировка Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…
β€” БрСдняя ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ O(n log n)
β€” Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ использованиС памяти Π·Π° счСт рСкурсии

BY C# 1001 notes


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/csharp_1001_notes/712

View MORE
Open in Telegram


C 1001 notes Telegram | DID YOU KNOW?

Date: |

Tata Power whose core business is to generate, transmit and distribute electricity has made no money to investors in the last one decade. That is a big blunder considering it is one of the largest power generation companies in the country. One of the reasons is the company's huge debt levels which stood at β‚Ή43,559 crore at the end of March 2021 compared to the company’s market capitalisation of β‚Ή44,447 crore.

Traders also expressed uncertainty about the situation with China Evergrande, as the indebted property company has not provided clarification about a key interest payment.In economic news, the Commerce Department reported an unexpected increase in U.S. new home sales in August.Crude oil prices climbed Friday and front-month WTI oil futures contracts saw gains for a fifth straight week amid tighter supplies. West Texas Intermediate Crude oil futures for November rose $0.68 or 0.9 percent at 73.98 a barrel. WTI Crude futures gained 2.8 percent for the week.

C 1001 notes from us


Telegram C# 1001 notes
FROM USA